//
//  WBHomeController.swift
//  weiboD
//
//  Created by gao2015 on 2016/11/30.
//  Copyright © 2016年 gao2015. All rights reserved.
//

import UIKit
import YYModel

//cell重用标记
private let HomeTableViewCellId = "cellid"

class WBHomeController: WBVIsitorController {
    //声明一个全局的数组
    lazy var statusArray : [WBStatusModel] = [WBStatusModel]()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        if isLogin == false {
            visitorView?.updateVisitorInfo(imageName: nil, message: nil)
        }else{
            //这里显示的是主页的数据
            getHomeInfoData()
            setupUI()
        }

        
       
    }
    //
    private func setupUI(){
        //注册cell
        tableView.register(WBHomeTableViewCell.self, forCellReuseIdentifier: HomeTableViewCellId)
        //设置tableView高度
//        tableView.rowHeight = UITableViewAutomaticDimension
//        //预估行高
//        tableView.estimatedRowHeight = 200
        tableView.rowHeight = 200  
    
    }
    private func getHomeInfoData(){
        WBNetworkTool.shareTool.requestHomeData { (response, error) in
            if error != nil{
               print(error ?? 0)
            }
//            print(response)
            let dic = response as! [String:Any]
            //首页是一个字典数组
            let statusArray = dic["statuses"] as! [[String : Any]]
            //遍历这个字典数组完成模型转换
//            var temArray = [WBStatusModel]()
//            for dic in statusArray{
//                //把数组字典里的每个字典转成模型
//                let status = WBStatusModel(dic: dic)
//                temArray.append(status)
//            }
            
            //利用YYModel的方式转模型 将statusArray转换成WBStatusModel的模型
            let modelArray = NSArray.yy_modelArray(with: WBStatusModel.self, json: statusArray) as! [WBStatusModel]

            self.statusArray = modelArray
            self.tableView.reloadData()
        }
    }

}

extension WBHomeController{
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        //上面是通过懒加载创建的statusArray不用？操作
        return self.statusArray.count
    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: HomeTableViewCellId, for: indexPath) as! WBHomeTableViewCell
//        cell.textLabel?.text = self.statusArray[indexPath.row].user?.screen_name
//        cell.textLabel?.text = self.statusArray[indexPath.row].text
        return cell
        
    }
}
